import 'package:flutter/material.dart';

import 'package:get/get.dart';
import 'package:getx_learn/app/common/widgets/widgets.dart';

import '../controllers/getx_view_page_controller.dart';

class GetxViewPageView extends GetView<GetxViewPageController> {
  const GetxViewPageView({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: getAppBar(context: context, title: "GetxViewPageView"),
      body: ListView(
        children: [
          Text("""
          GetView只是对已注册的Controller有一个名为controller的getter的const Stateless的Widget，
          如果我们只有单个控制器作为依赖项，那我们就可以使用GetView，而不是使用StatelessWidget，
          并且避免了写Get.Find()。
          """),
          Divider(),
          ListTile(
            title: Text("当前控制器的 hashCode"),
            subtitle: Text("${controller.hashCode}"),
          ),
          Divider(),
          ListTile(
            title: Text("Get.find<GetxViewPageController>()控制器的 hashCode"),
            subtitle: Text("${Get.find<GetxViewPageController>().hashCode}"),
          ),
        ],
      ),
    );
  }
}
